/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.corespring.restaurant.web.controller;

import java.util.ArrayList;
import java.util.List;
import javax.swing.table.DefaultTableModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.corespring.restaurant.model.Plato;
import org.corespring.restaurant.model.Usuario;
import org.corespring.restaurant.service.UsuarioCliente;

@Controller
public class UsuarioControllerCli {

    //@Autowired
    //private UsuarioDao usuariodao;
    private UsuarioCliente usuarioCliente;
    private DefaultTableModel tableModel;

    @Autowired
    public UsuarioControllerCli(UsuarioCliente usuarioCliente) {
        this.usuarioCliente = usuarioCliente;
    }

//    @RequestMapping("/login.htm")
//    public String login(Model model, @ModelAttribute("Usuario") Usuario usuario) {
//		//Usuario u = usuariodao.obtenerUsuarioById("admin");
//		//model.addAttribute("usuario", u);
//                return "redirect:jsp/cli_principal.jsp";
//    }
    /*@RequestMapping("/listarUsuarios.htm")
    public String listarUsuarios(Model model, @ModelAttribute("Usuario") Usuario usuario) {
    List<Usuario> usuarios = usuarioManager.obtenerListaUsuarios();
    return "redirect:html/adm_usuarios.jsp";
    }
     */
    @RequestMapping("/cli_usuarios.htm")
    public void adm_usuarios(Model model, @ModelAttribute("Usuario") Usuario usuario) {
        List<Usuario> usuarios = usuarioCliente.obtenerListaUsuarios();
        model.addAttribute("usuarios", usuarios);
        model.addAttribute("usuario", usuario);
        //return "redirect:html/adm_usuarios.jsp";
    }

    @RequestMapping("/cli_principal.htm")
    public void get_platos(Model model, @ModelAttribute("Plato") Plato plato) {
        List<Plato> platos = new ArrayList<Plato>();
        int variable = 0;
        int nTot = usuarioCliente.obtenerListaPlatos().size();
        String codigo = "";
        for (int i = 0; i < nTot; i++) {
            variable = (int) (1 + Math.random() * 10);

            if (variable > 9 && variable < nTot) {
                codigo = "P" + variable;
            } else if (variable < 10) {
                codigo = "P0" + variable;
            }
            Plato oplato = usuarioCliente.obtenerPlatoById(codigo);
            if (oplato.getIdplato() != null && !oplato.getIdplato().isEmpty()) {
                platos.add(oplato);
            }
            //System.out.println("Variable -XXXXXXs " + variable);
            if (platos.size() == 4) {
                break;
            }
        }
        model.addAttribute("platos", platos);
        model.addAttribute("plato", plato);
        //return "redirect:html/adm_usuarios.jsp";
    }
//    @RequestMapping("/cli_principal.htm")
//    public void get_platos(Model model, @ModelAttribute("Plato") Plato plato) {
//        List<Plato> platos = new ArrayList<Plato>();
//        for (int i = 0; i < usuarioCliente.obtenerListaPlatos().size(); i++) {
//            if (i<=3) {
//                Plato oplato = usuarioCliente.obtenerListaPlatos().get(i);
//                platos.add(oplato);
//            }else break;
//        }
//        model.addAttribute("platos", platos);
//        model.addAttribute("plato", plato);
//        //return "redirect:html/adm_usuarios.jsp";
//    }
}
